<script setup>
// 该hook以在组件中方便地启动和停止定时器，并支持设定延迟和是否立即执行的选项
import { ref, onMounted } from 'vue';
function useInterval(fn, delay, immediate = false) {
  // 创建一个ref用于存储定时器ID
  const timerId = ref(null);
  // 启动定时器
  const start = () => {
    // 如果immediate为true，则立即执行一次fn
    if (immediate) {
      fn();
    }
    // 每隔delay毫秒执行一次fn
    timerId.value = setInterval(fn, delay);
  };

  // 停止定时器
  const stop = () => {
    clearInterval(timerId.value);
  };
  // 在组件挂载时启动定时器
  onMounted(start);
  return { start, stop };
}
// 导出useInterval 
export {useInterval};
</script>

<template>

</template>

<style scoped>

</style>
